/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.mybeans;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Date;
import javax.swing.JOptionPane;

/**
 *
 * @author avbravo
 */
public class BiciclesPagosPlacasBeans {

    static int IdBicicleta;
    static int idRecibo;
    static int Anio;
    static java.sql.Date FechaPago;
    static java.sql.Date Fecha;
    static String activo;
    Sesion sesion;


    public BiciclesPagosPlacasBeans() {
        sesion = new Sesion();
    }

    public static java.sql.Date getFecha() {
        return Fecha;
    }

    public static void setFecha(java.sql.Date Fecha) {
        BiciclesPagosPlacasBeans.Fecha = Fecha;
    }

    public static java.sql.Date getFechaPago() {
        return FechaPago;
    }

    public static void setFechaPago(java.sql.Date FechaPago) {
        BiciclesPagosPlacasBeans.FechaPago = FechaPago;
    }

    public static String getActivo() {
        return activo;
    }

    public static void setActivo(String activo) {
        BiciclesPagosPlacasBeans.activo = activo;
    }

    public static int getAnio() {
        return Anio;
    }

    public static void setAnio(int Anio) {
        BiciclesPagosPlacasBeans.Anio = Anio;
    }

    public static int getIdBicicleta() {
        return IdBicicleta;
    }

    public static void setIdBicicleta(int IdBicicleta) {
        BiciclesPagosPlacasBeans.IdBicicleta = IdBicicleta;
    }

  

    public static int getIdRecibo() {
        return idRecibo;
    }

    public static void setIdRecibo(int idRecibo) {
        BiciclesPagosPlacasBeans.idRecibo = idRecibo;
    }

    public boolean ConsultarSiPagoPlaca() {
        try {

            if (getIdBicicleta() == -1) {
                JOptionPane.showMessageDialog(null, "Ingrese el codigo de la bicicleta", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return false;
            }
            if (sesion.Conectar() == false) {
                JOptionPane.showMessageDialog(null, "No se pudo establecer la conexion", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return false;
            }

            String sqlquery = "select biciclespagosplacas.*  from biciclespagosplacas where idmunicipio = ? and idbicicleta = ? and anio =? and activo='si'";
            PreparedStatement psquery = sesion.con.prepareStatement(sqlquery);
            psquery.setString(1, sesion.getIdmunicipio());
            psquery.setInt(2, getIdBicicleta());
            psquery.setInt(3, getAnio());
            ResultSet rs = psquery.executeQuery();
            rs.next();
            int x = rs.getRow();
            if (x == 0) {
                // JOptionPane.showMessageDialog(null, "No se ha pagado la placa este año", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                sesion.con.close();
                return false;
            }


            setAnio(rs.getInt("anio"));
            setIdRecibo(rs.getInt("anio"));
            setActivo(rs.getString("activo"));
            setFechaPago(rs.getDate("fechapago"));

            setActivo(getActivo().toLowerCase());
            if (getActivo().equals("no")) {
                //   JOptionPane.showMessageDialog(null, "Este pago de placa esta inactivo.", "Mensaje", JOptionPane.WARNING_MESSAGE);
                sesion.con.close();
                return false;
            }


            sesion.con.close();
            return true;

        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, "VehiclesPagoPlacasBeans.ConsultarSiPagoPlaca()" + ex.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);

        }
        return false;
    }

    public boolean Guardar() {
        try {


            boolean encontrado = ConsultarSiPagoPlaca();
            if (encontrado == true) {
                JOptionPane.showMessageDialog(null, "Existe un registro de ese pago de placa anual registrado", "Mensaje", JOptionPane.INFORMATION_MESSAGE);

                return false;
            }
            if (sesion.Conectar() == false) {
                JOptionPane.showMessageDialog(null, "No se pudo establecer la conexion", "Mensaje", JOptionPane.INFORMATION_MESSAGE);
                return false;
            }
            String sql = "insert into biciclespagosplacas (idbicicleta,idrecibo,anio,fechapago,idmunicipio,activo,fecha,username) values( ?,?,?,?,?,?,?,?)";


            PreparedStatement prest = sesion.con.prepareStatement(sql);

            prest.setInt(1, IdBicicleta);
            prest.setInt(2, idRecibo);
            prest.setInt(3, Anio);
            prest.setDate(4, this.FechaPago);

            prest.setString(5, sesion.getIdmunicipio());
            prest.setString(6, "si");
            prest.setDate(7, this.Fecha);
            prest.setString(8, sesion.getUsername());
            
            int count = prest.executeUpdate();
            sesion.con.close();
            return true;
        } catch (Exception ex) {

            sesion.MostrarMensajeError("Error", "Clase:VehiclesPagosPlacas.java\nMetodo:Guardar() " + ex.getMessage().toString());
        }
        return false;
    }
}
